package com.hmy.singleton;
/**
 * 单例模式：确保一个类只有一个实例，并且提供全局的访问点
 * 
 * 共介绍了六种单例模式
 * 饿汉式：利用类加载机制保证线程安全
 * 懒汉式：通过加锁保证线程安全
 * 枚举类式
 *
 */
public class Singleton {
	
	//构造器私有化
	private Singleton() {
		
	}
	//利用静态内部类创建实例，达到了懒加载和线程安全的要求
	private static class SingletonHolder {
		private final static Singleton singleton = new Singleton();
	}
	
	//延迟实例化，只适合单线程
	public static Singleton getSingletonInstance() {
		return SingletonHolder.singleton;
	}
	
}
